from redis import StrictRedis


class Config:
    # 配置调试类对象
    DEBUG = True

    # 设置密钥
    SECRET_KEY = 'dasd%$#@hvvsahd'

    # 配置数据库链接
    SQLALCHEMY_DATABASE_URI = 'mysql://root:mysql@localhost/flask_data'
    # 配置数据库的动态追踪修改
    SQLALCHEMY_TRACK_MODIFICATIONS = False
    # 定义redis的主机和端口
    REDIS_HOST = '127.0.0.1'
    REDIS_PORT = '6379'
    # 配置redis数据库链接用来储存session，实现状态保持　
    SESSION_TYPE = 'redis'
    # 对session信息进行签名
    SESSION_USE_SIGNER = True
    # 设置session的有效期(秒)
    PERMANENT_SESSION_FILETIME = 86400
    # 实例化一个redis对象
    StrictRedis(host=REDIS_HOST, port=REDIS_PORT)


# 定义开发模式下的配置
class DevelopmentConfig(Config):  # 继承上面的Config
    DEBUG = True


# 定义生产模式下的配置
class ProductionConfig(Config):  # 继承上面的Config
    DEBUG = False

config = {
    'development': DevelopmentConfig,
    'production': ProductionConfig
}